package dao;

import java.util.ArrayList;
import java.util.List;

import hbt.HbtUtil;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import bean.CondicionDePagoVO;

public class HbtCondicionDePagoDao {

	private static SessionFactory sf = null;
	private static HbtCondicionDePagoDao instancia = null;

	public static HbtCondicionDePagoDao getInstancia() {
		if (instancia == null) {
			sf = HbtUtil.getSessionFactory();
			instancia = new HbtCondicionDePagoDao();
		}
		return instancia;
	}

	public void guardarCondicionDePago(CondicionDePagoVO cp) {
		Session session = sf.openSession();
		session.beginTransaction();
		session.persist(cp);
		session.flush();
		session.getTransaction().commit();
		session.close();
	}

	public CondicionDePagoVO obtenerCondicionDePago(CondicionDePagoVO cp) {
		Session session = sf.openSession();
		Transaction trans = session.beginTransaction();
		CondicionDePagoVO oficina = (CondicionDePagoVO) session.get(
				CondicionDePagoVO.class, cp.getIdCondPago());
		trans.commit();
		session.close();
		return oficina;
	}

	@SuppressWarnings("unchecked")
	public List<CondicionDePagoVO> obtenerTodas() {
		List<CondicionDePagoVO> oficinas = new ArrayList<CondicionDePagoVO>();
		Session session = null;
		session = sf.openSession();
		session.beginTransaction();
		oficinas = session.createQuery("from CondicionDePagoVO").list();
		session.getTransaction().commit();
		session.close();
		return oficinas;
	}

}
